﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using Tibet.Entidades;

namespace Tibet.Datos
{
    public class AccesoObtenerPerfil
    {
        private Conexion InstanciarConexion()
        {
            Conexion nueva = new Conexion();
            return (nueva);
        }

        public List<Metrica> ObtenerPerfilMetrica(Proyecto proyecto)
        {
            List<Metrica> metricas = new List<Metrica>();
            Conexion bd = InstanciarConexion();
            SqlCommand command = new SqlCommand();

            try
            {
                bd.AbrirConexionBd();

                command.Connection = bd.ObjetoConexion();
                command.CommandType = System.Data.CommandType.StoredProcedure; //Tipo de comando que se va a ejecutar
                command.CommandText = "[dbo].[SELMetricasDePerfil]"; // Nombre del Procedimiento Almacenado en la Base de Datos
                command.CommandTimeout = 10;
                command.Parameters.AddWithValue("@IdProyecto", proyecto.Id);

                SqlDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    Metrica miMetrica = new Metrica();
                    miMetrica.IdMetrica = reader.GetInt32(0);
                    miMetrica.NombreMetrica = reader["NombreMetrica"].ToString();
                    miMetrica.Descripcion = reader["Descripcion"].ToString();
                    metricas.Add(miMetrica);
                }


                reader.Close();
                bd.CerrarConexionBd();
                return metricas;

            }

            catch (SqlException)
            {
                bd.CerrarConexionBd();
                return null;
            }

            catch (Exception)
            {
                bd.CerrarConexionBd();
                return null;
            }
        }
    }
}
